home *** CD-ROM | disk | FTP | other *** search
- Sparkle is a free program for the Macintosh that can encode or play MPEG files and
- convert them to QuickTime movies. It requires a Mac with a 68020 or higher
- processor, QuickTime 1.6 or higher and System 7 or higher. It runs much
- better with the Thread Manager installed. If you don't have the Thread
- Manager you can obtain it from
- ftp.apple.com in dts/mac/sys.soft/thread-manager-2-0-1.hqx.
- (Note that this supercedes the ftp address given in the program itself,
- because Apple recently re-arranged their ftp site.)
- Sparkle runs on PowerPCs but is not yet native so performance will be
- disappointing.
- Note that at present Sparkle can only understand the video stream of an
- MPEG file, not the full ISO 11172 stream. However Sparkle understands I P
- and B frames and can usually cope with anomalies in the file structure
- like a file that begins with a set of B frames.
- At present most MPEG files consist of only the video stream, so lack OF
- ISO 11172 isn't a real problem yet, but I'll be adding said support ASAP.
-
- The version of Sparkle on this CD ROM is 2.02.
-
- Sparkle 2.02 is optimized for playback on 24 bit screens. Playback on 16
- bit screens will be slower and playback on 8 bit screens will be painfully
- slow (though at very high quality dithering).
-
- This program was written for distribution over the Internet and I fear
- that CD ROM users may be misled by it in the absence of a few notes.
-
- * This program is in a constant state of flux. Sometimes I release new
- versions because I'm satisfied with attaining a certain level of
- functionality. At other times I release very rough code because there is a
- large demand for the code, albeit rough. In particular the MPEG encoding
- of Sparkle is very slow, uses way more memory than necessary, and may
- encode misleading or incorrect values for some parts of the MPEG stream.
- The next release of Sparkle, 2.1, in June 94 or so speeds up MPEG
- playback by 150% to 300% (with special case support for common screen
- depths other than 24 bit), provides real time playback (skipping frames if
- necessary) and provides substantial additions to the user interface.
- After this I will improve MPEG encoding and add support for ISO 11172
- demuxing and audio.
-
- * If you have a problem with Sparkle, first try to obtain the most recent
- version. New versions are posted to the ftp site
- sumex-aim.stanford.edu in the directory info-mac/grf/util.
- I would suggest that you try a mirror of the sumex-aim site which is
- constantly overloaded. Some suggestions are
- ftp.hawaii.edu 128.171.44.70 mirrors/info-mac
- src.doc.ic.ac.uk 146.169.2.10 packages/info-mac
- imftp.mgt.ncu.edu.tw 140.115.83.90 /pub/mac/info-mac
- Sparkle does eventually drift to commercial providers like AOL and
- Compuserve but I don't have accounts on those so they may ftp sites by a
- month or more.
- New versions are released about every two or three months.
-
- * If obtaining the most recent version does not solve your problem, feel
- free to mail me. My address is
- maynard@elwing.otago.ac.nz.
- I try to fix bugs the moment I learn of them. If you have a suggestion for
- the future, not a bug report, I will add it as soon as I can. However many
- suggestions I receive are things I already have planned that require
- layers upon layers of support code to be written so they may not be
- implemented for a while.
-
- * I have in the past given the code to people who request it. However I'm
- not making it generally available because it is, at any given stage,
- riddled with junk from previous versions, along with hooks I've placed for
- future ideas and it's a mess. It is cleaned up as I update it, but other
- parts become a mess.
- The code requires detailed knowledge of
- MPEG
- QuickTime
- QuickDraw and the Mac OS (and 68K assembly)
- Threads and the Mac Thread Manager
- If you don't know much about any of these areas, trying to learn about
- MPEG from this code will probably waste your time.
-
- * The ``kernel'' of Sparkle is based on threads that communicate with each
- other asynchronously. This design offers two important benefits.
- Firstly it is very easy to write UNIX style code that is
- compute-intensive and runs for a long time, yet maintain interactivity with
- the user and processing events.
- Secondly the asynch communication means it should be fairly easy to get
- Sparkle to vector all MPEG encoding/decoding to dedicated hardware while
- still using the Sparkle user-interface, time-slicing, memory-management and
- scheduling.
-
- * I maintain Sparkle as a hobby, and because of that things proceed
- slowly---I can't devote more than a few hours a week to it.
-
- * If someone wants to hire me to do this as a full time job, I'm eager for
- any offers. Please mail me.
-
- Maynard Handley
- 17 May 1994